草庐IT

ios - xcode ios HMAC SHA 256哈希

全部标签

c# - IO monad 在像 C# 这样的语言中有意义吗

在花了很多时间阅读和思考之后,我想我终于掌握了monad是什么、它们如何工作以及它们有什么用处。我的主要目标是弄清楚monad是否可以应用于我在C#中的日常工作。当我开始学习monad时,我的印象是它们很神奇,它们以某种方式使IO和其他非纯函数变得纯。我理解monad对于.Net中的LINQ之类的东西的重要性,并且Maybe对于处理不返回有效值的函数非常有用。我也很欣赏限制代码状态和​​隔离外部依赖的需要,我希望monad也能帮助解决这些问题。但我最终得出结论,用于IO和处理状态的monad是Haskell的必需品,因为Haskell没有其他方法可以做到这一点(否则,你无法保证顺序,并

c# - 使用哪一个 : Managed vs. 非托管哈希算法

在常规C#应用程序中,哪个类用于哈希:xxxManaged或xxx(即SHA1Managed与SHA1)为什么? 最佳答案 以***Cng结尾的非托管哈希,即SHA256Cng,也会有平台限制。它们比托管替代方案快很多,但会在WindowsXP等运行时失败。如果您知道您的程序将始终在Windows7、VistaSP1或2008上运行,那么它们的性能通常会比托管版本好很多,即使有native互操作开销也是如此。如果您正在编写一个通用程序,***Managed类将更易于使用,因为它们将始终有效。

c# - 执行文件io时如何正确处理异常

我经常发现自己以某种方式与文件交互,但在编写代码后,我总是不确定它实际上有多健壮。问题是我不完全确定文件相关操作会如何失败,因此也不确定处理异常的最佳方式。简单的解决方案似乎只是捕获代码抛出的任何IOExceptions并向用户提供“无法访问的文件”错误消息,但是否有可能获得更细粒度的错误信息?有没有办法确定文件被另一个程序锁定等错误与由于硬件错误导致数据不可读之间的区别?给定以下C#代码,您将如何以用户友好(尽可能提供信息)的方式处理错误?publicclassIO{publicListReadFile(stringpath){FileInfofile=newFileInfo(pat

qemu-kvm IO优化

主要是磁盘方面的IO资源优化 四个方面去着手优化:1.磁盘类型选择 2.缓存模式选择 3.AIO异步读写方式选择 4.磁盘IO调度器选择1.磁盘的类型有IDE、SATA以及virtio三种 建议使用virtio2. 磁盘缓存模式 目前KVM这块支持5种磁盘缓存模式,writethrough、writeback、none、directsync或者unsafe。一般用到的就是前面3种,后面两种几乎不会使用。 writethrough:(直写模式)数据直接写入磁盘里,不使用缓存;在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较

整数数组的 C# 哈希码

我有一个内部只是整数数组的类。一旦构造数组永远不会改变。我想预先计算一个好的哈希码,以便可以非常有效地将此类用作字典中的键。数组长度小于30项左右,整数一般在-1000到1000之间。 最佳答案 不是很聪明,但足以满足大多数实际目的:编辑:由于HenkHolterman的评论而更改,谢谢。inthc=array.Length;foreach(intvalinarray){hc=unchecked(hc*314159+val);}如果您需要更复杂的东西,lookhere. 关于整数数组的C

C# 哈希集包含非唯一对象

使用这个类publicclassFoo{publicstringc1,c2;publicFoo(stringone,stringtwo){c1=one;c2=two;}publicoverrideintGetHashCode(){return(c1+c2).GetHashCode();}}还有这个哈希集HashSetaFoos=newHashSet();FooaFoo=newFoo("a","b");aFoos.Add(aFoo);aFoos.Add(newFoo("a","b"));label1.Text=aFoos.Count().ToString();我得到的答案是2,而实际上它

c# - 如何将 System.IO.Stream 转换为图像?

如何将图像的Stream(我使用MediaLibrary中的Album.GetArt方法检索)转换为可用的图像Image在我的应用程序中? 最佳答案 简单...varimg=Bitmap.FromStream(stream); 关于c#-如何将System.IO.Stream转换为图像?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18134234/

c# - 如何在 C# 中创建文件夹的哈希值?

我需要为包含一些文件的文件夹创建哈希。我已经为每个文件完成了这项任务,但我正在寻找一种方法来为文件夹中的所有文件创建一个散列。关于如何做到这一点有什么想法吗?(当然,我可以为每个文件创建哈希并将其连接到一些大哈希,但这不是我喜欢的方式) 最佳答案 这会散列所有文件(相对)路径和内容,并正确处理文件排序。而且速度很快-对于4MB的目录大约需要30毫秒。usingSystem;usingSystem.Text;usingSystem.Security.Cryptography;usingSystem.IO;usingSystem.Lin

c# - 如何编码包含哈希的路径?

如何正确编码包含哈希(#)的路径?请注意,哈希不是片段(书签?)指示符,而是路径名的一部分。例如,如果有这样一条路径:http://www.contoso.com/code/c#/somecode.cs例如当你尝试这样做时它会导致问题:UrimyUri=newUri("http://www.contoso.com/code/c#/somecode.cs");它似乎将散列解释为片段指示符。手动把#换成%23感觉不对。还有其他字符需要替换吗?Uri和HttpUtility中有一些转义方法,但似乎没有一个能解决问题。 最佳答案 有些字符您

c# - 如何使用 C# 对密码值进行加盐和哈希处理?

大家好,我从PreferredMethodofStoringPasswordsInDatabase了解到存储密码的哈希值是安全的...如何使用C#对密码值进行加盐和哈希处理?如何比较数据库中存储的值和用户给定的值? 最佳答案 最流行的方法是使用散列算法。有一个很棒的blogposthere关于如何使用MD5算法对字符串进行哈希处理,但是System.Cryptography命名空间中还有许多其他示例。至于#2,有关其工作原理的一般分步指南如下:注册时:使用您指定的算法散列用户密码并将其存储在数据库中Salt这个散列(可选,但首选)登